package ufc.quixada.petti.service;

import java.util.ArrayList;
import java.util.List;
import ufc.quixada.petti.dao.CredenciamentoEventoParticipanteDAO;
import ufc.quixada.petti.infra.SimplesEntityManager;
import ufc.quixada.petti.model.Atividade;

import ufc.quixada.petti.model.Credenciamento_Evento_Participante;
import ufc.quixada.petti.model.CredenciamentoEventoParticipantePK;
import ufc.quixada.petti.model.Evento;

public class CredenciamentoEventoParticipanteService {

	private CredenciamentoEventoParticipanteDAO dao;

	private SimplesEntityManager simpleEntityManager;

	public CredenciamentoEventoParticipanteService() {

	}

	public CredenciamentoEventoParticipanteService(
			SimplesEntityManager simpleEntityManager) {
		this.simpleEntityManager = simpleEntityManager;
		dao = new CredenciamentoEventoParticipanteDAO(
				simpleEntityManager.getEntityManager());
	}

	public void save(Credenciamento_Evento_Participante credenciamento) {

		try {
			simpleEntityManager.beginTransaction();
			dao.save(credenciamento);
			simpleEntityManager.commit();
		} catch (Exception e) {
			e.printStackTrace();
			simpleEntityManager.rollBack();
		}

	}


public List<Credenciamento_Evento_Participante> findAll() {
		return dao.findAll();
	}
        


	public List<Long> procurarParticipantePorIdEvento(String id) {
		
            String hql = "from credenciamento_evento_participante as  x where x.idevento = " +id+"";
		List<Long> idsParticipantes= new ArrayList<>();
                CredenciamentoEventoParticipantePK pk;
                try {
                  
                   for(Credenciamento_Evento_Participante credenciamento : dao.findHql(hql)){
                       pk=credenciamento.getChaveComposta();
                    
                       idsParticipantes.add(pk.getParticipante().getId());
                               
                   } 
                    
                    
			return idsParticipantes;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}

        
        }
        

        
       
